import {request} from './Axios' //引入request函数，即发送请求的函数
import {Methods,Url} from './config'  //引入地址路径和请求的方式

//定义常量APIClient对象，以$API的名字挂载在Vue原型上，当作全局对象使用
const APIClient = {
    //install方法可以将组件挂载为全局对象，需要和Vue.use()搭配使用，在main.js中使用Vue.use()方法即可调用
    install (Vue){
        Vue.prototype.$API=this //this执行此实例
    },
    //这些方法也将随组件一起被挂载在Vue原型上成为全局方法 调用方式为this.$API.DetailGetShop()
    DetailGetShop(data){
        //在组件内调用此方法，会执行request函数，并传入默认的参数
        //参数中请求方式和请求路径都是被固定的，调用方法只需要傻瓜式操作传参数就行
        return request(Methods.Post,Url.detailGetShop,data)
    },
    Login(params){
        //给的接口有问题，这一步要用get获取参数
        return request(Methods.Get,Url.Login,params)
    },
    getShopList(params){    //商品列表
        return request(Methods.Get,Url.ShopList,{params:params})
    },
    getBanner(){    //轮播图
        return request(Methods.Get,Url.getBanner)
    },
    getShopTab(){   //商品分类
        return request(Methods.Post,Url.shopTab)
    },
    getKPriceShop(){    //砍价商品
        return request(Methods.Get,Url.kPriceShop)
    },
    getNewsList(){  //文章列表
        return request(Methods.Get,Url.newsList)
    },
    getGoodShop(){  //推荐商品
        return request(Methods.Get,Url.goodShop)
    },
    getNewsDetail(params){  //文章详情
        return request(Methods.Get,Url.newsDetail,params)
    },
    getShopDetail(params){ //商品详情
        return request(Methods.Get,Url.ShopDetail,params)
    },
    getShopReputation(params){  //获取商品评价
        return request(Methods.Get,Url.shopReputation,params)
    }
}

export default APIClient;